A database, such as a relational database, an object-oriented database, or another type of data management system, may be used for the administration of data processed by a computer system running one or more application programs or systems. Examples of application programs or systems include an enterprise resource management system, a customer relationship management system, a human resources management system, a supply chain management system, and a financial management system. Data from one data management system used for one application system may need to be sent to one or more data management systems for storage and use by other application systems. The transfer of data from one data management system to another data management system may be referred to as a data exchange. When two data management systems or application systems need to exchange data on a routine basis, the development of a data exchange capability may be referred to as the integration of the application systems.
The development of data exchange capabilities between two application systems may involve the design, coding and testing of software designed for exchanging data between the particular data management systems. Such software may be referred to as application integration software. Application integration software may be developed through manual design and programming of the software with little or no use of design and programming tools. Manually designing and programming software for integrating application systems may be an impractical method to integrate disparate application systems, particularly when a number of disparate application systems must be integrated or application systems must be integrated rapidly.
An alternative to manually designing and programming application integration software is to use a code generation program, such as a CASE (“computer-aided software engineering” or “computer-aided systems engineering”) tool, to integrate application systems. In general, CASE tools may provide automated support for the process of designing and programming software (for example, producing source code and/or executable instructions). CASE tools may employ a visual design interface that permits a user to diagram the procedural and data elements required and how the elements are related to or used in the software.
One type of automated support for computer system integration is a graphical user interface that may be used for creating a specification for data management system integration. The specification describes a workflow that relates a series of executable communication scripts and data translators that are used to integrate two computer systems. An executable communication script may be based on a generalization of a particular interactive session that establishes a connection between the two computer systems and exchanges data between two data management systems. A data translator identifies the data fields to be sent from one system to the other system and a translation rule for each data field. An example translation rule may be to delete trailing blanks at the end of a data value of a particular data field before sending the data value to the other system.